package com.liuqi.openai.core.chat;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

/**
 * openai 响应 tool_calls 工具调用描述
 *
 * @author liuqi
 * @date 2025/7/18
 **/
@Getter
@Setter
@ToString
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ToolCall {

    /**
     * 索引编号
     */
    private Integer index;

    /**
     * 工具调用ID
     */
    private String id;

    /**
     * 一般是 function
     */
    private String type;

    /**
     * 函数调用描述
     */
    private Function function;

    @Getter
    @Setter
    @ToString
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public static class Function {

        /**
         * 函数名称
         */
        private String name;

        /**
         * 参数 json 格式
         */
        private String arguments;

    }

}
